/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package sprites;


import java.awt.Point;
import vista.ZonaDeJoc;

/**
 *
 * @author Carlos Moya Martinez
 */
public abstract class Sprite {
    protected int x;
    protected int y;
    protected String imatge;
    protected int dimX;
    protected int dimY;
    protected Point pantalla;

    public Sprite() {
        this.pantalla = ZonaDeJoc.pantalla;
    }
    
    public Sprite(Point pantalla) {
        this.pantalla = pantalla;
    }

    public Sprite(String imatge, Point pantalla) {
        this.imatge = imatge;
        this.pantalla = pantalla;
    }

    public Sprite(String imatge, int dimX, int dimY, Point pantalla) {
        this.imatge = imatge;
        this.dimX = dimX;
        this.dimY = dimY;
        this.pantalla = pantalla;
    }

    public Sprite(int x, int y, String imatge, int dimX, int dimY, Point pantalla) {
        this.x = x;
        this.y = y;
        this.imatge = imatge;
        this.dimX = dimX;
        this.dimY = dimY;
        this.pantalla = pantalla;
    }

    public Sprite(int x, int y, Point pantalla) {
        this.x = x;
        this.y = y;
        this.pantalla = pantalla;
    }

    public int getDimX() {
        return dimX;
    }

    public int getDimY() {
        return dimY;
    }

    public String getImatge() {
        return imatge;
    }

    public Point getPantalla() {
        return pantalla;
    }

    public int getX() {
        return x;
    }

    public int getY() {
        return y;
    }

    public void setDimX(int dimX) {
        this.dimX = dimX;
    }

    public void setDimY(int dimY) {
        this.dimY = dimY;
    }

    public void setImatge(String imatge) {
        this.imatge = imatge;
    }

    public void setPantalla(Point pantalla) {
        this.pantalla = pantalla;
    }

    public void setX(int x) {
        this.x = x;
    }

    public void setY(int y) {
        this.y = y;
    }
    
    public abstract void animar();
    
    public void pintar() {
        
    }
    
    public int getXleft() {
        return this.x - (this.dimX/2);
    }
    public int getXright() {
        return this.x + (this.dimX/2);
    }
    
    public int getYdown() {
        return this.y + (this.dimY/2);
    }
    public int getYup() {
        return this.y - (this.dimY/2);
    }
}
